const URL = 'https://registry.npmjs.org/-/npm/v1/security/audits';
// npm审核的接口地址，运行 npm audit 命令使用的是同一个后端
// 检查单个包
/**
 * {
  "name": "example-audit",        // 虚拟项目名（无关紧要）
  "version": "1.0.0",            // 虚拟版本（无关紧要）
  "requires": {                  // 项目依赖要求
    "lodash": "^4.17.21"         // 要检查的包名和版本
  },
  "dependencies": {              // 依赖详情
    "lodash": {
      "version": "^4.17.21"      // 具体版本信息
    }
  }
}
 * @param {*} packageName 
 * @param {*} pacakgeVersion 
 * @returns 
 */

export async function remoteAudit(packageName, pacakgeVersion) {
    const body = {
        name: 'example-audit', // 项目名字随便写
        version: '1.0.0', // 项目的版本，随便写
        requires: {
            [packageName]: pacakgeVersion, // 要检查的包名和版本
        },
        dependencies: { // 依赖详情
            [packageName]: {
                version: pacakgeVersion,
            },
        },
    };
    console.log('body', body);
    const resp = await fetch(URL, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(body),
    });
    return await resp.json();
}
